/**
 *
 * abstract 抽象方法修饰符 抽象方法不能写方法体
 * 抽象方法必须写在抽象类里
 * 抽象类不能实例化
 * 有抽象方法的类一定是抽象类
 * 抽象类的子类 要么重写抽象类中的所有抽象方法 要么本身也是抽象类
 * 抽象类中的构造方法是创建子类对象的时候给子类进行赋值的
 *
 * */